home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 23 / Amiga Format AFCD23 (Feb 1998, Issue 107).iso / -seriously_amiga- / shareware / graphics / plotter3d / plotter3d_upd / install-plotter3d < prev    next >
Text File  |  1997-12-12  |  23KB  |  781 lines

  1. ; $VER: Install-Plotter3D 3.04 (06.10.97)
  2.  
  3. ;##############################################################################
  4. ; Localize
  5. ;
  6.  
  7. (if (= @language "deutsch")
  8.   (
  9.     (set #wrongversion
  10.       (cat "Achtung! Es ist eine alte Version des Programmes 'Installer' "
  11.               "auf Ihrem Amiga!\n\nDie Installation benötigt mindestens Installer 42.9.\n\n"
  12.               "Bitte überprüfen Sie Ihre Konfiguration!"
  13.     ))
  14.  
  15.     (set #update "Update")
  16.     (set #abort  "Abbrechen")
  17.  
  18.     (set #welcome_full (cat
  19.       "\n"
  20.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  21.       "\n"
  22.       "Plotter3D ist Freeware, daß heißt es kann frei  \n"
  23.       "vertrieben werden, solange keinerlei Profit     \n"
  24.       "gemacht wird und das Archiv unverändert bleibt. \n"
  25.       "\n"
  26.       "Neue Versionen können aus dem AmiNet bezogen    \n"
  27.       "werden, Updates oder aktuelle Version können    \n"
  28.       "von meiner Homepage geladen werden:             \n"
  29.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  30.       "\n"
  31.       "                            Sven Steiniger, 1997\n"
  32.     ))
  33.     (set #welcome_beta (cat
  34.       "\n"
  35.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  36.       "\n"
  37.       "Sie installieren gerade eine BETA-Version von   \n"
  38.       "Plotter3D! Bitte legen sie erst eine Kopie Ihres\n"
  39.       "'Plotter3D:'-Verzeichnisses an.                 \n"
  40.       "Falls Sie irgendwelche Fehler finden, schicken  \n"
  41.       "Sie bitte eine EMail mit dem Schlüsselwort      \n"
  42.       "'Plotter3D-Bug' im Subjekt-Feld an folgende     \n"
  43.       "Adresse:                                        \n"
  44.       "   ss37@inf.tu-dresden.de                       \n"
  45.       "\n"
  46.       "                           Danke, Sven Steiniger\n"
  47.     ))
  48.     (set #welcome_update (cat
  49.       "\n"
  50.       "Willkommen zum Plotter3D Installationsprogramm. \n"
  51.       "\n"
  52.       "Sie installieren gerade ein Update zu Plotter3D!\n"
  53.       "Es muß schon eine Vollversion von Plotter3D v3.x\n"
  54.       "auf ihrem System installiert sein. Die aktuelle \n"
  55.       "Version kann aus dem AmiNet geladen werden      \n"
  56.       "(gfx/3d/Plotter3D.lha).                         \n"
  57.       "\n"
  58.       "                            Sven Steiniger, 1997\n"
  59.     ))
  60.     (set #error_beta (cat
  61.       "\n"
  62.       "Dieses Archiv enthält nur ein Update (beta-     \n"
  63.       "Version) von Plotter3D!                         \n"
  64.       "Es scheint, daß noch keine Vollversion auf Ihrem\n"
  65.       "System installiert ist. Darum kann Ich kein     \n"
  66.       "Update durchführen.                             \n"
  67.       "\n"
  68.       "Die neuste Vollversion kann entweder aus dem    \n"
  69.       "AmiNet oder von meiner Homepage                 \n"
  70.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  71.       "bezogen werden.                                 \n"
  72.     ))
  73.  
  74.     (set #installing "Installiere %s...")
  75.     (set #cleaning   "Räume auf...")
  76.  
  77.     (set #cp_main   "Installiere Hauptprogramm 'Plotter3D'.")
  78.     (set #cp_docs   "Installiere Documentation.")
  79.     (set #cp_libs   "Installiere Libraries.")
  80.     (set #cp_locale "Installiere Sprachen.")
  81.     (set #cp_funcs  "Kopiere Beispiel-Funktionen.")
  82.     (set #cp_mats   "Kopiere Beispiel-Materialen.")
  83.     (set #cp_lights "Kopiere Beispiel-Lightquellen.")
  84.     (set #cp_datas  "Kopiere Beispiel-Daten.")
  85.     (set #cp_pals   "Kopiere Standard-Farbpaletten.")
  86.     (set #cp_images "Kopiere Bilder für Werkzeugleiste.")
  87.     (set #cp_prefs  "Kopiere Voreinstellungen.")
  88.     (set #cp_tools  "Kopiere Tools.")
  89.  
  90.     (set #ask_update  "Plotter3D ist schon auf ihrem System installiert.\nSie können diese Installation updaten oder abbrechen.")
  91.     (set #ask_docs    "Bitte wählen Sie die Sprache(n) für die AmigaGuide Dokumentation aus.")
  92.     (set #ask_locale  "Bitte wählen Sie die Sprache(n) aus, die Sie installieren wollen.")
  93.     (set #ask_funcs   "Bitte wählen Sie die zu installierenden Beispiele aus.\n(Empfohlen: Alle)")
  94.     (set #ask_drawers "Bitte wählen Sie die Verzeichnisse aus, die kopiert werden sollen.\n(Empfohlen: Alle)")
  95.     (set #ask_others  "Bitte wählen Sie die Dateien aus, die kopiert werden sollen.")
  96.     (set #ask_clean1  (cat
  97.       "Das Dateiformat für Paletten und     \n"
  98.       "Bilder hat sich geändert. Sollen die \n"
  99.       "alten Dateien gelöscht werden, wenn  \n"
  100.       "sie doppelt vorhanden sind? (sowohl  \n"
  101.       "im neuen als auch im alten Format)   \n"
  102.     ))
  103.     (set #ask_clean2  (cat
  104.       "The tools 'ConvertPalette' und 'ILBM2Chunky'\n"
  105.       "wurden aus dem Archiv entfernt. Sie wurden  \n"
  106.       "durch die Programme 'ChunkyMaster' und      \n"
  107.       "'PalettesMaster' ersetzt.                   \n"
  108.       "Sollen die alten Programme gelöscht werden? \n"
  109.     ))
  110.  
  111.     (set #destdir "Bitte wählen Sie einen Platz für Plotter3D. Ein Verzeichnis namens 'Plotter3D' wird dort automatisch erzeugt.")
  112.     (set #startup "Einige Kommandos werden zu ihrer \"s:user-startup\" Datei gefügt.")
  113.  
  114.     (set #user_abort "Fehler: Abbruch durch den Benutzer.")
  115.     (set #copyerror  "Fehler: Verzeichnis/Datei \"%s\" fehlt!\nEs kann sein das Plotter3D nach der Installation nicht oder nicht korrekt funktioniert.")
  116.  
  117.     (set #answer_yes "Ja")
  118.     (set #answer_no  "Nein")
  119.  
  120.   )
  121.   (
  122.     (set #wrongversion
  123.          (cat "You have an old version of the program 'Installer' "
  124.               "on your Amiga!\n\nThe installation procedure needs at least Installer 42.9.\n\n"
  125.               "Please check your configuration!"
  126.     ))
  127.  
  128.     (set #update "Update")
  129.     (set #abort  "Abort")
  130.  
  131.     (set #welcome_full (cat
  132.       "\n"
  133.       "Welcome to the Plotter3D installation program.  \n"
  134.       "\n"
  135.       "Plotter3D is Freeware, means it can be spread   \n"
  136.       "freely as long as no profit is made and the     \n"
  137.       "archive is not modified.                        \n"
  138.       "\n"
  139.       "You can get new versions from AmiNet. Updates   \n"
  140.       "and actual beta-versions can be downloaded from \n"
  141.       "my homepage at:                                 \n"
  142.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  143.       "\n"
  144.       "                            Sven Steiniger, 1997\n"
  145.     ))
  146.     (set #welcome_beta (cat
  147.       "\n"
  148.       "Welcome to the Plotter3D installation program.  \n"
  149.       "\n"
  150.       "You are installing an BETA-version of Plotter3D!\n"
  151.       "Please make a copy of your 'Plotter3D:'         \n"
  152.       "directory first.                                \n"
  153.       "If you find any bugs please mail to:            \n"
  154.       "   ss37@inf.tu-dresden.de                       \n"
  155.       "with subject field containing 'Plotter3D-Bug'   \n"
  156.       "\n"
  157.       "                          Thanks, Sven Steiniger\n"
  158.     ))
  159.     (set #welcome_update (cat
  160.       "\n"
  161.       "Welcome to the Plotter3D installation program.  \n"
  162.       "\n"
  163.       "You are installing an Update of Plotter3D!      \n"
  164.       "It needs an fully installed version of          \n"
  165.       "Plotter3D v3.xx. You can get the lastest package\n"
  166.       "from AmiNet (gfx/3d/Plotter3D.lha).             \n"
  167.       "\n"
  168.       "                            Sven Steiniger, 1997\n"
  169.     ))
  170.     (set #error_beta (cat
  171.       "\n"
  172.       "This archive only contains an update (beta-     \n"
  173.       "version) of Plotter3D!                          \n"
  174.       "It seems you have not installed an full version \n"
  175.       "on your system therefore I could not make an    \n"
  176.       "update.                                         \n"
  177.       "\n"
  178.       "You can get the latest full version either from \n"
  179.       "your local AmiNet-site or from my homepage:     \n"
  180.       "   http://www.inf.tu-dresden.de/~ss37           \n"
  181.     ))
  182.  
  183.     (set #installing "Installing %s...")
  184.     (set #cleaning   "Cleaning up...")
  185.  
  186.     (set #cp_main   "Installing main program 'Plotter3D'.")
  187.     (set #cp_docs   "Installing documentation.")
  188.     (set #cp_libs   "Installing libraries.")
  189.     (set #cp_locale "Installing languages.")
  190.     (set #cp_funcs  "Copying example functions.")
  191.     (set #cp_mats   "Copying example materials.")
  192.     (set #cp_lights "Copying example lightsources.")
  193.     (set #cp_datas  "Copying example datas.")
  194.     (set #cp_pals   "Copying standard colorpalettes.")
  195.     (set #cp_images "Copying toolbar images.")
  196.     (set #cp_prefs  "Copying preferences.")
  197.     (set #cp_tools  "Copying tools.")
  198.  
  199.     (set #ask_update  "Plotter3D is already installed on your system.\nYou can make an update or abort.")
  200.     (set #ask_docs    "Select the language(s) of AmigaGuide documentations you wish to install.")
  201.     (set #ask_locale  "Select the language(s) you wish to install.")
  202.     (set #ask_funcs   "Select the examples you wish to install.\n(Recommended: All)")
  203.     (set #ask_drawers "Select the drawers you wish to copy.\n(Recommended: All)")
  204.     (set #ask_others  "Select the files you wish to copy.")
  205.     (set #ask_clean1  (cat
  206.       "The file format of palettes and      \n"
  207.       "pictures has been changed. Should the\n"
  208.       "old files be deleted if they exists  \n"
  209.       "twice?                               \n"
  210.     ))
  211.     (set #ask_clean2  (cat
  212.       "The tools 'ConvertPalette' and 'ILBM2Chunky'\n"
  213.       "have been removed from the archive. Instead \n"
  214.       "More powerful tools called 'PalettesMaster' \n"
  215.       "and 'ChunkyMaster' have been included.      \n"
  216.       "Should I delete the old tools?              \n"
  217.     ))
  218.  
  219.     (set #destdir "Please select a place for the Plotter3D package. A drawer called 'Plotter3D' will be created here.")
  220.     (set #startup "Some commands will be added to your \"s:user-startup\" file.")
  221.  
  222.     (set #user_abort "Error: User abort.")
  223.     (set #copyerror  "Error: Directory/File \"%s\" is missed!.\nIt is possible that Plotter3D does not work properly after installation.")
  224.  
  225.     (set #answer_yes "Yes")
  226.     (set #answer_no  "No")
  227.  
  228.  
  229.   )
  230. )
  231.  
  232. ;##############################################################################
  233. ; start
  234. (if (< @installer-version 2752521)
  235.   (
  236.     (message #wrongversion)
  237.     (working (#installing "Installer"))
  238.     (copylib
  239.       (source "Installer")
  240.       (dest "C:")
  241.       (optional "force" "askuser")
  242.     )
  243.     (exit (quiet))
  244.   )
  245. )
  246.  
  247. ;#############################################################################
  248. ; procedure P_MakeDir
  249. ; creates a new drawer and copies the icon.
  250. ;
  251. ; #spath - source path
  252. ; #name  - name of drawer
  253.  
  254. (procedure P_MakeDir #pm_path #pm_name
  255.   (
  256.     (if (not (exists (tackon @default-dest (tackon #pm_path #pm_name)) (noreq)))
  257.       (
  258.         (makedir (tackon @default-dest (tackon #pm_path #pm_name)))
  259.       )
  260.     )
  261.     (P_CopyIcon #pm_path #pm_name @copy-help FALSE)
  262.   )
  263. )
  264.  
  265. ;##############################################################################
  266. ; procedure P_CopyDir
  267. ; copies a whole directory including all subdirectories. If an file exists
  268. ; it is not overwritten if it has an higher version.
  269. ;
  270. ; #cp_name      - name of directory
  271. ; #cp_help      - text shown during copy
  272. ; #cp_overwrite - if TRUE then files without version are overwritten
  273.  
  274. (procedure P_CopyDir #cp_name #cp_help #cp_overwrite
  275.   (
  276.     (if (exists #cp_name)
  277.       (
  278.         (working ("%s\n(%s/)" #cp_help #cp_name))
  279.         (foreach #cp_name "~(#?.info)"
  280.           (
  281.             (if (< @each-type 0)
  282.               (
  283.                 (set cd_source (tackon #cp_name @each-name))
  284.                 (set cd_dest   (tackon (tackon @default-dest #cp_name) @each-name))
  285.                 (if (exists cd_dest)
  286.                   (
  287.                     (set cd_doit FALSE)
  288.                     (set cd_version (GETVERSION cd_dest))
  289.                     (if cd_version
  290.                       (if (> (GETVERSION cd_source) cd_version) (set cd_doit TRUE))
  291.                       (if #cp_overwrite (set cd_doit TRUE))
  292.                     )
  293.                   )
  294.                   (set cd_doit TRUE)
  295.                 )
  296.                 (if cd_doit (P_CopyFile #cp_name @each-name #cp_help))
  297.               )
  298.             )
  299.           )
  300.        )
  301.       )
  302.       (if (not #v_update) (message (#copyerror #cp_name) (all)))
  303.     )
  304.   )
  305. )
  306.  
  307. ;##############################################################################
  308. ; procedure P_CopyFile
  309. ; copies a file
  310. ;
  311. ; #cf_path   - path of file
  312. ; #cf_name   - name of file
  313. ; #cf_prompt - text for prompt
  314. ;
  315. (procedure P_CopyFile #cf_path #cf_name #cf_prompt
  316.   (
  317.     (if (exists (tackon #cf_path #cf_name))
  318.       (
  319.         (copyfiles
  320.           (prompt #cf_prompt)
  321.           (help   @copyfiles-help)
  322.           (source (tackon #cf_path #cf_name))
  323.           (dest   (tackon @default-dest #cf_path))
  324.           (nogauge)
  325.         )
  326.         (P_CopyIcon #cf_path #cf_name #cf_prompt FALSE)
  327.       )
  328.       (if (not #v_update) (message (#copyerror (tackon #cf_path #cf_name)) (all)))
  329.     )
  330.   )
  331. )
  332.  
  333. ;##############################################################################
  334. ; procedure P_CopyLib
  335. ; copies a file
  336. ;
  337. ; #cl_path   - path of file
  338. ; #cl_name   - name of file
  339. ; #cl_prompt - text for prompt
  340. ;
  341. (procedure P_CopyLib #cl_path #cl_name #cl_prompt
  342.   (
  343.     (if (exists (tackon #cl_path #cl_name))
  344.       (
  345.         (copylib
  346.           (prompt #cl_prompt)
  347.           (help   @copylib-help)
  348.           (source (tackon #cl_path #cl_name))
  349.           (dest   (tackon @default-dest #cl_path))
  350.         )
  351.         (P_CopyIcon #cl_path #cl_name #cl_prompt FALSE)
  352.       )
  353.       (if (not #v_update) (message (#copyerror (tackon #cl_path #cl_name)) (all)))
  354.     )
  355.   )
  356. )
  357.  
  358.  
  359. ;##############################################################################
  360. ; procedure P_CopyIcon
  361. ; copies an icon
  362. ;
  363. ; #ci_path   - path of icon
  364. ; #ci_name   - name of icon (without .info)
  365. ; #ci_prompt - text for prompt
  366. ;
  367. (procedure P_CopyIcon #ci_path #ci_name #ci_prompt #ci_necessary
  368.   (
  369.     (set ci_file (tackon #ci_path #ci_name))
  370.     (set ci_icon (cat ci_file ".info"))
  371.  
  372.     (if (exists ci_icon)
  373.       (
  374.         (if (exists (tackon @default-dest ci_icon))
  375.           (
  376.             (iconinfo
  377.               (dest (tackon @default-dest ci_file))
  378.               (getposition "#ci_xp" "#ci_yp")
  379.             )
  380.             (copyfiles
  381.               (prompt #ci_prompt)
  382.               (help   @copyfiles-help)
  383.               (source ci_icon)
  384.               (dest   (tackon @default-dest #ci_path))
  385.               (nogauge)
  386.             )
  387.             (tooltype
  388.               (dest (tackon @default-dest ci_file))
  389.               (setposition #ci_xp #ci_yp)
  390.             )
  391.           )
  392.           (copyfiles
  393.             (prompt #ci_prompt)
  394.             (help   @copyfiles-help)
  395.             (source ci_icon)
  396.             (dest (tackon @default-dest #ci_path))
  397.             (nogauge)
  398.           )
  399.         )
  400.       )
  401.       (
  402.         (if (and #ci_necessary (not #v_update))
  403.           (message (#copyerror ci_icon) (all))
  404.         )
  405.       )
  406.     )
  407.   )
  408. )
  409.  
  410. ;##############################################################################
  411. ; procedure P_CleanDir
  412. ; Scans a directory for double files (differs only in suffix)
  413. ;
  414. ; #cld_name      - name of directory
  415. ; #cld_help      - text shown during copy
  416. ; #cld_good      - suffix of good files
  417. ; #cld_bad       - suffix of bad files
  418. ;
  419. (procedure P_CleanDir #cld_name #cld_help #cld_good #cld_bad
  420.   (
  421.     (if (exists #cld_name)
  422.       (foreach #cld_name (cat "#?." #cld_good)
  423.         (if (< @each-type 0)
  424.           (
  425.             (set cld_dest
  426.               (tackon
  427.                 #cld_name
  428.                 (cat
  429.                   (substr
  430.                     @each-name
  431.                     0
  432.                     (- (strlen @each-name) (strlen #cld_good))
  433.                   )
  434.                   #cld_bad
  435.                 )
  436.               )           
  437.             )
  438.             (if (exists cld_dest) (delete cld_dest))
  439.           )
  440.         )
  441.       )
  442.     )
  443.   )
  444. )
  445.  
  446. ;(procedure P_UserAbort
  447. ;  (
  448. ;    (ABORT #user_abort)
  449. ;  )
  450. ;)
  451.  
  452.  
  453. ;##############################################################################
  454. ; global variables
  455.  
  456. (set ul_novice  0)
  457. (set ul_average 1)
  458. (set ul_expert  2)
  459.  
  460. ; last_choice contains the result of the last askoptions-call
  461. (set last_choice       0)
  462.  
  463. (set #v_update   FALSE)
  464. (set #v_partly   FALSE)
  465. (set #v_docs     -1)
  466. (set #v_locale   -1)
  467. (set #v_examples -1)
  468. (set #v_extra    -1)
  469. (set #v_others   -1)
  470.  
  471. ;##############################################################################
  472. ; check beta or update-version.
  473. (if (exists "Beta.readme")
  474.   (
  475.     (message #welcome_beta)
  476.     (set #v_partly TRUE)
  477.   )
  478.   (if (exists "Update.readme")
  479.     (
  480.       (message #welcome_update)
  481.       (set #v_partly TRUE)
  482.     )
  483.     (message #welcome_full)
  484.   )
  485. )
  486. (welcome)
  487.  
  488.  
  489. ;##############################################################################
  490. ; get destination path
  491. (if (exists "plotter3d:" (noreq))
  492.   (
  493.     (set @default-dest (expandpath "plotter3d:/"))
  494.     (set #v_update TRUE)
  495.     (if (not #v_partly)
  496.       (if (not (askbool 
  497.             (prompt  #ask_update)
  498.             (choices #update #abort)
  499.             (help    @askbool-help)
  500.           ))
  501.         (exit (quiet))
  502.       )
  503.     )
  504.   )
  505.   (if #v_partly
  506.     (
  507.       (message #error_beta)
  508.       (exit (quiet))
  509.     )
  510.     (
  511.       (set @default-dest
  512.         (askdir
  513.           (prompt  #destdir)
  514.           (help    @askdir-help)
  515.           (default @default-dest)
  516.         )
  517.       )
  518.       (set @default-dest (expandpath @default-dest))
  519.     )
  520.   )
  521. )
  522.  
  523. ;##############################################################################
  524. ; documentation
  525.  
  526. (if (>= @user-level ul_average)
  527.   (set #v_docs
  528.     (askoptions
  529.       (prompt  #ask_docs)
  530.       (default #v_docs)
  531.       (help    @askoptions-help)
  532.       (choices
  533.         "English"
  534.         "Deutsch"
  535.       )
  536.     )
  537.   )
  538. )
  539.  
  540. ;##############################################################################
  541. ; Locale
  542.  
  543. (if (>= @user-level ul_average)
  544.   (set #v_locale
  545.     (askoptions
  546.       (prompt  #ask_locale)
  547.       (default #v_locale)
  548.       (help    @askoptions-help)
  549.       (choices
  550.         "English (built-in)"
  551.         "Deutsch"
  552.         "Français"
  553.     "Español"
  554.       )
  555.     )
  556.   )
  557. )
  558.  
  559. ;##############################################################################
  560. ; examples
  561.  
  562. (if (>= @user-level ul_expert)
  563.   (set #v_examples
  564.     (askoptions
  565.       (prompt  #ask_funcs)
  566.       (default #v_examples)
  567.       (help    @askoptions-help)
  568.       (choices
  569.         "Functions"
  570.         "Materials"
  571.         "Lightsources"
  572.         "Palettes"
  573.         "Datas"
  574.       )
  575.     )
  576.   )
  577. )
  578.  
  579. ;##############################################################################
  580. ; extra
  581.  
  582. (if (>= @user-level ul_expert)
  583.   (set #v_extra
  584.     (askoptions
  585.       (prompt  #ask_drawers)
  586.       (default #v_extra)
  587.       (help    @askoptions-help)
  588.       (choices
  589.         "Imagebuttons"
  590.         "Preferences"
  591.         "Tools"
  592.       )
  593.     )
  594.   )
  595. )
  596.  
  597. ;##############################################################################
  598. ; others
  599.  
  600. (if (>= @user-level ul_average)
  601.   (set #v_others
  602.     (askoptions
  603.       (prompt  #ask_others)
  604.       (default #v_others)
  605.       (help    @askoptions-help)
  606.       (choices
  607.         "Preview picture"
  608.       )
  609.     )
  610.   )
  611. )
  612.  
  613. ;##############################################################################
  614. ; go
  615.  
  616. (complete 0)
  617.  
  618. (if (not #v_update)
  619.   (
  620.     (makedir
  621.       (tackon @default-dest "Plotter3D")
  622.       (help   @makedir-help)
  623.     )
  624.     (copyfiles
  625.       (help   @copyfiles-help)
  626.       (source "/Plotter3D.info")
  627.       (dest   @default-dest)
  628.     )
  629.     (tooltype
  630.       (dest (tackon @default-dest "Plotter3D"))
  631.       (noposition)
  632.     )
  633.   )
  634. )
  635. (complete 10)
  636.  
  637. (set @default-dest (tackon @default-dest "Plotter3D"))
  638.  
  639. ;##############################################################################
  640. ; copy Main Program
  641.  
  642. ;(copylib
  643. ;  (prompt #cp_main)
  644. ;  (help   @copylib-help)
  645. ;  (source "Plotter3D")
  646. ;  (dest   @default-dest)
  647. ;)
  648. ;(P_CopyIcon "" "Plotter3D" #cp_main TRUE)
  649. (P_CopyLib "" "Plotter3D" #cp_main)
  650.  
  651.  
  652. (P_MakeDir "" "Libs")
  653. (P_CopyDir "Libs" #cp_libs TRUE)
  654. (P_MakeDir "Libs" "Dither")
  655. (P_CopyDir "Libs/Dither" #cp_libs TRUE)
  656.  
  657. (complete 20)
  658.  
  659. ;##############################################################################
  660. ; copy documentation
  661.  
  662. (P_MakeDir "" "Docs")
  663. (P_CopyFile "Docs" "History" #cp_docs)
  664. (P_CopyFile "Docs" "Bugs"    #cp_docs)
  665. (P_CopyFile "Docs" "ToDo"    #cp_docs)
  666.  
  667. (if (IN #v_docs 0) ( (P_MakeDir "Docs" "English") (P_CopyDir "Docs/English" #cp_docs TRUE)))
  668. (if (IN #v_docs 1) ( (P_MakeDir "Docs" "Deutsch") (P_CopyDir "Docs/Deutsch" #cp_docs TRUE)))
  669.  
  670. (complete 30)
  671.  
  672. ;##############################################################################
  673. ; copy Locale
  674.  
  675. (if (> #v_locale 1)
  676.   (
  677.     (makedir (tackon @default-dest "Catalogs"))
  678.     (if (IN #v_locale 1) ( (P_CopyDir "Catalogs/Deutsch"  #cp_locale TRUE) ))
  679.     (if (IN #v_locale 2) ( (P_CopyDir "Catalogs/Français" #cp_locale TRUE) ))
  680.     (if (IN #v_locale 3) ( (P_CopyDir "Catalogs/Español" #cp_locale TRUE) ))
  681.   )
  682. )
  683. (complete 40)
  684.  
  685. ;##############################################################################
  686. ; install functions etc.
  687.  
  688. (if (IN #v_examples 0) ( (P_MakeDir "" "Functions") (P_CopyDir "Functions" #cp_funcs  TRUE)))
  689. (if (IN #v_examples 1) ( (P_MakeDir "" "Materials") (P_CopyDir "Materials" #cp_mats   FALSE)))
  690. (if (IN #v_examples 2) ( (P_MakeDir "" "Lights"   ) (P_CopyDir "Lights"    #cp_lights FALSE)))
  691. (if (IN #v_examples 3) ( (P_MakeDir "" "Palettes" ) (P_CopyDir "Palettes"  #cp_pals   FALSE)))
  692. (if (IN #v_examples 4) ( (P_MakeDir "" "Datas"    ) (P_CopyDir "Datas"     #cp_datas  FALSE)))
  693.  
  694. (complete 50)
  695.  
  696. ;##############################################################################
  697. ; copy extra drawers
  698.  
  699. (if (IN #v_extra 0) ( (P_MakeDir "" "Images") (P_CopyDir "Images" #cp_images TRUE)))
  700. (if (IN #v_extra 1) ( (P_MakeDir "" "Prefs" ) (P_CopyDir "Prefs"  #cp_prefs FALSE)))
  701. (if (IN #v_extra 2) ( (P_MakeDir "" "Tools" ) (P_CopyDir "Tools"  #cp_tools TRUE)))
  702.  
  703. (complete 60)
  704.  
  705. ;##############################################################################
  706. ; copy other datas
  707.  
  708. (if (IN #v_others 0) (P_CopyFile "" "PreviewPic" @copyfiles-help))
  709.  
  710. (complete 80)
  711.  
  712. ;##############################################################################
  713. ; Cleanup 1
  714.  
  715. (if #v_update
  716.   (if (>= @user-level ul_expert)
  717.     (if (askbool
  718.           (prompt  #ask_clean1)
  719.           (help    @askbool-help)
  720.           (choices
  721.             #answer_yes
  722.             #answer_no
  723.           )
  724.         )
  725.       (
  726.         ; remove double palettes
  727.         (P_CleanDir (tackon @default-dest "Palettes") #cleaning "cpal" "pal256") 
  728.         ; remove double pictures
  729.         (P_CleanDir (tackon @default-dest "Datas") #cleaning "ciff" "chunky") 
  730.         (P_CleanDir (tackon @default-dest "Datas") #cleaning "ciff" "pal256") 
  731.       )
  732.     )
  733.   )
  734. )
  735.  
  736. (complete 87)
  737.  
  738. ;##############################################################################
  739. ; Cleanup 2
  740.  
  741. (if #v_update
  742.   (if (>= @user-level ul_expert)
  743.     (if (askbool
  744.           (prompt  #ask_clean2)
  745.           (help    @askbool-help)
  746.           (choices
  747.             #answer_yes
  748.             #answer_no
  749.           )
  750.         )
  751.       (
  752.         (delete (tackon @default-dest "Tools/ConvertPalette") 
  753.            (infos)
  754.         )
  755.         (delete (tackon @default-dest "Tools/ILBM2Chunky") 
  756.            (infos)
  757.         )
  758.       )
  759.     )
  760.   )
  761. )
  762.  
  763. (complete 95)
  764.  
  765. ;##############################################################################
  766. ; startup-sequence
  767.  
  768. (if (not #v_update)
  769.   (startup "Plotter3D"
  770.     (prompt  #startup)
  771.     (help    @startup-help)
  772.     (command "assign Plotter3D: \"" @default-dest "\"")
  773.     (confirm "expert")
  774.   )
  775. )
  776.  
  777. (makeassign "Plotter3D" @default-dest)
  778.  
  779. (complete 100)
  780.